<?xml version="1.0" encoding="Windows-1251"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

    xmlns:b="http://kadm.org.ua/B"
    xml:lang="ru">

    <xsl:output method="xml" version="1.0" encoding="Windows-1251" media-type="text/xhtml"/>

    <xsl:strip-space elements="*"/>

    <xsl:template match="*">
        <xsl:element name="{name()}">
             <xsl:apply-templates select="@*" />
             <xsl:apply-templates />
        </xsl:element>
    </xsl:template>

    <xsl:template match="text() | comment() | @*">
        <xsl:copy/>
    </xsl:template>

          <!-- xmlns="http://www.w3.org/1999/xhtml"     -->
    <xsl:param name="widgets_root" select="'Z:/home/localhost/www/widgets/'" />

    <xsl:template match="b:group[@compose = 'vertical']">
        <xsl:element name="div">
            <xsl:attribute name="style">
                <xsl:apply-templates select="@*" mode="style" />
            </xsl:attribute>
            <xsl:apply-templates select="*" />
        </xsl:element>
    </xsl:template>

    <xsl:template match="@*" mode="style">
        <xsl:if test="name() = 'width' or name() = 'height'">
            <xsl:text> </xsl:text>
            <xsl:value-of select="name()" />
            <xsl:text>: </xsl:text>
            <xsl:value-of select="." />
            <xsl:text>;</xsl:text>
        </xsl:if>
    </xsl:template>

    <xsl:template match="b:group[@compose='horizontal']">
        <xsl:element name="table">
            <xsl:attribute name="border">
                <xsl:value-of select="0" />
            </xsl:attribute>
            <xsl:attribute name="cellpadding">
                <xsl:value-of select="0" />
            </xsl:attribute>
            <xsl:attribute name="cellspacing">
                <xsl:value-of select="0" />
            </xsl:attribute>
            <xsl:attribute name="width">
                <xsl:value-of select="'100%'" />
            </xsl:attribute>
            <xsl:attribute name="style">
                <xsl:apply-templates select="@*" mode="style" />
            </xsl:attribute>
            <xsl:element name="tbody">
                <xsl:element name="tr">
                    <xsl:for-each select="*">
                        <xsl:element name="td">
                            <xsl:apply-templates select="." />
                        </xsl:element>
                    </xsl:for-each>
                </xsl:element>
            </xsl:element>
        </xsl:element>
    </xsl:template>

    <xsl:template match="b:widget">
        <xsl:element name="div">
            <xsl:attribute name="style">
                <xsl:apply-templates select="@*" mode="style" />
            </xsl:attribute>
            <xsl:attribute name="id">
                <xsl:value-of select="@name" />
            </xsl:attribute>
            <xsl:copy-of select="document(concat($widgets_root, @contains))/html/body/node()" />
        </xsl:element>
    </xsl:template>

</xsl:stylesheet>
